DFS (V)
    num (V)=i++;
    for 顶点v的所有邻接顶点u
        if num(u)=0
            把边 edge(uv)加入边集 edges;
            DFS(u);

depthFirstSearch()
    for 所有顶点v
        num(v) = 0;
    edges = null;
    i = 1;
    while 存在一个顶点v使 num(v)=0
        DFS(v);
    输出边集 edges;
    